package org.wang.generalcode.modules.sys.service;

import org.wang.generalcode.modules.sys.pojo.entity.Role;
import org.wang.generalcode.modules.sys.pojo.model.Option;
import org.wang.generalcode.modules.sys.pojo.params.RolePageParams;
import org.wang.generalcode.modules.sys.pojo.params.RoleParams;
import org.wang.generalcode.modules.sys.pojo.vo.RoleVO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 角色表 服务类
 *
 * @author wz
 * @since 2024-08-08
 */
public interface IRoleService extends IService<Role> {

	/**
	 * 自定义分页
	 *
	 * @param page
	 * @param queryParams
	 * @return
	 */
	IPage<RoleVO> selectRolePage(IPage<RoleVO> page, RolePageParams queryParams);

    List<Option<Long>> listRoleOptions();

    List<Long> getRoleMenuIds(Long roleId);

	boolean saveRole(RoleParams roleParams);

    boolean assignMenusToRole(Long roleId, List<Long> menuIds);
}
